Rest API란

REST(REpresentational State Transfer)란 HTTP 통신에 있어서 자원에 대한 조회, 변경, 삽입, 삭제 요청을 자원(Uri)과 행위(Method)로 표현하여 설계하는 방식을 말한다.

REST에는 대표적으로 GET,POST ,PUT, DELETE METHOD가 있으며 자원에 대해 이 METHOD 방법에 따라 서버에서 수행하는 동작이 달라지도록 설계한다.

예를들어 http://서버:8080/member/1024를 GET 방식으로 호출한다는 것은 회원번호가 1024번인 멤버의 정보를 조회하겠다는 것을 의미한다. 똑같은 방식으로 이를 DELETE 방식으로 호출하게 되면 1024인 멤버의 정보를 삭제하겠다는 것을 의미하고 PUT 방식으로 호출하면 Body의 내용에 보낸 정보를 바탕으로 1024인 멤버의 정보를 수정하겠다는 것을 의미한다. 이렇게 자원에 대해서는 Uri로 표현하고 이에 대한 행동을 Method로 표현하면 표현의 의미가 분명해지고 Rest api 규칙을 지켜서 설계된 api에 대하여 Restful 한 api라고 말한다.

설계의 규칙
  • 리소스와 행위를 명시적이고 직관적으로 분리한다.

    • http://서버:8080/delete/member와 같이 uri안에 행위를 포함하는 표현이 있어서는 안된다.
    • 행위는 GET(조회),POST(삽입),PATCH(일부 수정),PUT(객체 전체 수정),DELETE(삭제),HEAD(Body없이 헤더만 받음), OPTIONS(해당 리소스에 가능한 operation을 응답) 등으로 표현한다.

  • Message는 Header와 Body를 명확하게 구분하여 분리해 사용한다.

    • Entity에 대한 내용은 Body에 담아 전송한다. -> 수정하거나 삽입하려는 정보에 대한 내용은 Body에 담아 전송한다.

    • API 버전 정보,MIME 타입 등은 header에 담는다.

장점

REST API의 장점이라고 하면 API의 요청 방식 자체로 API가 어떤식으로 동작하는지 명확하게 알 수 있고 인가된 요청자들에 대해 언제 어디서나 데이터를 제공할 수 있다. -> Open Api를 제공하기가 쉽다.

공유하기